package com.googlecode.continuity.plugin.svnbrowser.server.service;

import java.util.List;

import org.tmatesoft.svn.core.SVNDirEntry;
import com.googlecode.continuity.plugin.svnbrowser.client.ReadSVNException;
import com.googlecode.continuity.plugin.svnbrowser.client.SVNRepositoryHandle;

/**
 * ReadSVNService
 *
 * @author Peter Schmitt <aragos@aragos.de>
 */
public interface ReadSVNService {
  SVNRepositoryHandle connect(String url, String username, String password) throws ReadSVNException;

  List<SVNDirEntry> getDirectoryContents(SVNRepositoryHandle handle, String directoryPath) throws ReadSVNException;

  List<SVNDirEntry> getDirectoryContents(SVNRepositoryHandle handle, String directoryPath, long revision)
      throws ReadSVNException;

  String getTextFileContents(SVNRepositoryHandle handle, String filePath) throws ReadSVNException;

  String getTextFileContents(SVNRepositoryHandle handle, String filePath, long revision) throws ReadSVNException;
}
